Getting Started
This section will guide you through the steps to set up your development environment and start contributing to the project.
Development Setup
Prerequisites
- Xcode 16.1+
- iOS 16.0+ SDK
- CocoaPods 1.12+
- Ruby with Bundler
Installation
- Clone the repository
git clone https://aok-plus@dev.azure.com/aok-plus/navida/_git/navida-pro-fe-plugins-ios
- Navigate to the project directory:
cd NavidaProPlugins
- Install dependencies:
bundle install
pod install - Open the workspace:
open NavidaProPlugins.xcworkspace
Project Structure
NavidaProPlugins/
├── Application/ # Main app container
│ ├── Configuration/ # Environment-specific configs
│ ├── AppDelegate.swift # Application lifecycle
│ └── ContentView.swift # Main UI container
├── Plugins/ # Plugin implementations
│ ├── NavidaBase/ # Core functionality
│ ├── Login/ # Login and authentication
│ ├── ScalableNavigation/ # Main navigation
│ ├── Challenge/ # Health challenges
│ ├── DoctorSearch/ # Doctor search
│ ├── VideoConsultation/ # Video medical consultations
│ ├── HealthMagazine/ # Health magazine content
│ └── [Other Plugins]/ # Other feature-specific plugins
├── Shared/ # Common utilities
└── Test Data/ # Test resources
Environments
The application supports multiple environments through .xcconfig
files:
- Prod: Production environment
- ProdBeta: Production beta testing
- SAPM/SAPW: Client's testing environment
- SAPWBeta: Client's beta testing environment
- Testing: Testing environment
- Dev: Development environment
- Daily: Daily build environment
Security Features
Certificate Pinning
- Multiple public pinning keys for different environments
- TrustKit integration for secure network communication
- Fallback mechanisms for certificate validation
Data Protection
- Screen capture protection for sensitive content
- Biometric authentication support
- Secure data storage and transmission
Privacy & Compliance
- Comprehensive consent management
- Data protection compliance
- Privacy-focused design patterns
Testing
Test Architecture
- Unit Tests: Located in
NavidaProPluginsTests/
- Snapshot Tests: Located in
NavidaProPluginsSnapshotTests/
- UI Tests: Located in
NavidaProPluginsUITests/